package com.ssy.lingxi.platform.manage.service.content;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.platform.manage.entity.content.ContentColumn;
import com.ssy.lingxi.platform.manage.model.request.common.CommonIdRequest;
import com.ssy.lingxi.platform.manage.model.request.common.CommonStatusRequest;
import com.ssy.lingxi.platform.manage.model.request.content.ContentColumnPageRequest;
import com.ssy.lingxi.platform.manage.model.request.content.ContentColumnRequest;
import com.ssy.lingxi.platform.manage.model.response.HotColumnResponse;

import java.util.List;

/**
 * 栏目管理 - 业务处理层
 * @author fhj
 * @version 2.0.0
 * @date 2020/9/17
 */
public interface IContentColumnService {

    Wrapper<PageData<ContentColumn>> page(ContentColumnPageRequest request);

    Wrapper<ContentColumn> get(CommonIdRequest request);

    Wrapper<Void> add(ContentColumnRequest request, UserLoginCacheDTO user);

    Wrapper<Void> update(ContentColumnRequest request, UserLoginCacheDTO user);

    Wrapper<Void> updateStatus(CommonStatusRequest request, UserLoginCacheDTO user);

    Wrapper<Void> delete(CommonIdRequest request, UserLoginCacheDTO user);

    Wrapper<List<ContentColumn>> all(Integer type);

    Wrapper<List<ContentColumn>> allByMarket();

    Wrapper<List<HotColumnResponse>> hot();
}
